package com.ruoyi.factorydata.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.factorydata.domain.WarehousePosition;

import java.util.HashMap;
import java.util.List;

/**
 * 仓库仓位信息Service接口
 *
 * @author ruoyi
 * @date 2025-07-16
 */
public interface IWarehousePositionService extends IService<WarehousePosition> {
    /**
     * 查询仓库仓位信息
     *
     * @param id 仓库仓位信息主键
     * @return 仓库仓位信息
     */
    public WarehousePosition selectWarehousePositionById(Long id);

    /**
     * 查询仓库仓位信息列表
     *
     * @param warehousePosition 仓库仓位信息
     * @return 仓库仓位信息集合
     */
    public List<WarehousePosition> selectWarehousePositionList(WarehousePosition warehousePosition);

    /**
     * 新增仓库仓位信息
     *
     * @param warehousePosition 仓库仓位信息
     * @return 结果
     */
    public int insertWarehousePosition(WarehousePosition warehousePosition);

    /**
     * 修改仓库仓位信息
     *
     * @param warehousePosition 仓库仓位信息
     * @return 结果
     */
    public int updateWarehousePosition(WarehousePosition warehousePosition);

    /**
     * 批量删除仓库仓位信息
     *
     * @param ids 需要删除的仓库仓位信息主键集合
     * @return 结果
     */
    public int deleteWarehousePositionByIds(Long[] ids);

    /**
     * 删除仓库仓位信息信息
     *
     * @param id 仓库仓位信息主键
     * @return 结果
     */
    public int deleteWarehousePositionById(Long id);

    /**
     * 根据id查询仓库仓位名称
     */
    String getByIdAndCache(Long positionId, HashMap<Long, String> positionNameCache);

}